#define  _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>

//int main()
//{
//	int arr[10];
//	int i, j, k;
//	for (i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	for (i = 0; i < 9; i++)
//	{
//		for (j = 0; j < 9 - i; j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				k = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = k;
//			}
//		}
//	}
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//
//	return 0;
//}

//
//void Paixu( char a[])
//{
//	int i, j;
//	char p[10];
//	int size = 10;
//	for (i = 0; i < size - 1; i++)
//	{
//		for (j = 0; j < size - 1 - i; j++)
//		{
//			if (strcmp(a[j], a[j + 1]) > 0)
//			{
//				strcpy(p, a[j]);
//				strcpy(a[j] , a[j + 1]);
//				strcpy(a[j + 1] , p);
//			}
//		}
//	}
//}

int main()
{
	int i, j;
	char arr[10];
	char p[10];
	for (i = 0; i < 10; i++)
	{
		scanf("%c", &arr[i]);
		if (arr[i] == '\n')
		{
			arr[i] = '\0';
			break;
		}
	}
	int size = 10;
	for (i = 0; i < size - 1; i++)
	{
		for (j = 0; j < size - 1 - i; j++)
		{
			if (strcmp(arr[j], arr[j + 1]) > 0)
			{
				strcpy(p, arr[j]);
				strcpy(arr[j], arr[j + 1]);
				strcpy(arr[j + 1], p);
			}
		}
	}
	printf("%s", arr);
	return 0;
}